import store from '../store'

/**
 * 权限检查函数 - 小程序环境最稳定可靠的权限控制方式
 * 使用方式：v-if="hasPermission('logistics:inplan:add')"
 */
export function hasPermission (permissionCode) {
  try {
    // 安全检查
    if (!permissionCode || typeof permissionCode !== 'string') {
      return false
    }

    // 获取权限列表
    const permissions = store?.state?.perms || []

    // 管理员账号特殊处理 - 如果拥有 "*:*:*" 权限，则拥有全部权限
    if (permissions.includes('*:*:*')) {
      return true
    }

    return permissions.includes(permissionCode)
  } catch (error) {
    return false
  }
}

// 默认导出函数，方便直接导入使用
export default hasPermission